package com.polaris.live.common.constant

/**
 * 此处定义一些常用的常量    比如  后端返回json  然后需要转成map
 *
 * @author Created by 半仙 on 2023/9/5/005 18:11
 */
object CommonConst {

    //在preConfigs 里的 configs  下的  secret  下的东西具体还是看日志吧
    object Zego {

        /**
         * zego的appID
         */
        const val zegoAppId = "zegoAppId"

    }

    //adjust
    object Adjust {

        /**
         * token解密偏移量
         */
        const val PARAMETER = "ASsUIqsdFzDFfHui"

        /**
         * 回传参数
         */
        const val UNIQUE_ID = "uniqueId"
        const val ANDROID_ID = "androidId"
        const val APP_TYPE = "appType"
        const val VARIANT_TYPE = "variantType"
        const val PLATFORM_TYPE = "platformType"
    }

    //preConfigs 下的 configs
    object Configs {

        /**
         * facebook
         */
        const val facebook = "facebook"

        /**
         * email
         */
        const val email = "email"

        /**
         * 经过加密的secret
         */
        const val secret = "secret"

        /**
         * oss的请求地址
         */
        const val ossUrl = "ossUrl"

        /**
         * 安全的域名
         */
        const val safeUrl = "safeUrl"

        /**
         * 是否开启人机验证
         */
        const val smsVerifySwitch = "smsVerifySwitch"

        /**
         * 被禁用的code
         */
        const val banAreaCodes = "banAreaCodes"

        /**
         * 壕等级规则
         */
        const val richLevel = "newRichLevel"

        /**
         * 魅等级规则
         */
        const val charmLevel = "newCharmLevel"

        /**
         * 通话最小接听时间
         */
        const val callMinDuration = "callMinDuration"

        /**
         * 女主播通话完成等待返回时间
         */
        const val liveEndWaitPeriod = "matchWait"

        /**
         * 通话未应答超时事件
         */
        const val callNotAnswerTimeout = "callNotAnswerTimeout"

        /**
         * 是否显示facebook登录
         */
        const val showFacebookLogin = "showFacebookLogin"

        /**
         * 显示手机号登录的国家
         */
        const val showPhoneCountries = "showPhoneCountries"

        /**
         * 隐藏手机号登录的国家
         */
        const val hidePhoneCountries = "hidePhoneCountries"

        /**
         * 邀请连接
         */
        const val inviteUrl = "salaInviteUrl"

        /**
         * 邀请二维码
         */
        const val inviteUrlQR = "salaInviteUrlQR"

        /**
         * 用户进场座驾延迟时间
         */
        const val userDelayTimeByRoomCar = "userDelayTimeByRoomCar"

        /**
         * 是否允许提现编辑
         */
        const val withdrawalEdit = "withdrawalEdit"

        /**
         * 名字颜色列表
         */
        const val richNicknameColor = "newRichNicknameColor"

        /**
         * 字体颜色列表
         */
        const val richMessageColor = "newRichMessageColor"

        /**
         * 消息勿扰的限制，等级限制
         */
        const val messageDndLevelRich = "messageDndLevelRich"

        /**
         * 福袋金额限制
         */
        const val luckyBagCoins = "luckyBagCoins"

        /**
         * 邀请入口  当这个有的时候并且是男用户才有这个邀请入口
         */
        const val inviteFemaleDiamond = "inviteFemaleDiamond"

        /**
         * 背包对应的类目名称
         */
        const val decorationNames = "decorationNames"

        const val taskMicAudioReportInterval = "taskMicAudioReportInterval"                   //用户上麦声音上报时间

        /**
         * vip颜色map
         */
        const val vipColor = "vipColor"

        /**
         * 房间皮肤配置
         */
        const val roomSkin = "roomTheme"

        /**
         * 客服地址
         */
        const val customerServiceUrl = "customerServiceUrl"
    }

    //推送主题
    object FirebaseTopic {

        const val ALL = "sala"                 //全用户通知
        const val LUCKY_BAG = "luckybag"        //福袋通知
    }

    //视频通话消息的状态码
    object CallType {

        const val OVER = 300                    //已结束
        const val REFUSE = 301                  //拒绝
        const val CANCEL = 302                  //已取消
        const val NO_ANSWER = 310               //超时未接通
        const val BUSY = 400                    //对方忙
        const val OFFLINE = 410                 //离线
        const val INFUFFICIENT_BALANCE = 420    //无余额
    }

    //接听1    拒绝2
    object Answer {

        const val ANSWER = 1
        const val OPERATION = 2
    }

    //匹配结束类型  1手动   2进入业务
    object MatchEnd {

        const val MANUAL = 1
        const val END_MATCH = 2
    }

    //开始请求匹配类型
    object MatchStart {

        const val MANUAL = 1                //电话匹配
        const val GAEM_MATCH = 5            //游戏匹配
    }

    //截图上报场景、
    object Screenshot {

        const val CALL = 0
        const val LIVE = 1
        const val VIDEO_PARTY = 2
    }

    //特殊错误码
    object ErrorCode {

        const val LEVEL_UNENOUGH = 982000020                        //开启直播时豪等级不足
        const val LEVEL_UNENOUGH_CHARM = 982000042                  //开启直播时魅等级不足
        const val LIVE_NOT_HAVE = 982000021                         //开启直播时背景照不存在
        const val LIVE_DONT_START_LIVE = 982000026                  //禁止直播弹出弹窗
        const val LIVE_DONT_START_MATCH = 982000027                 //禁止直播弹出弹窗
        const val BALANCE_UNENOUGH = 420                            //拨打方余额不足
        const val DISCONTINUED = 880000100                          //停服公告
        const val SENDGIFT = 980003200                              //余额不足
        const val GAME_BEANS = 980003203                            //游戏币余额不足
        const val SEAL_ACCOUNT = 980003005                          //封号
        const val SEAL_ACCOUNT_LOGIN = 980003006                    //禁止登录
        const val INFO_MODIFY = 980003009                           //修改个人信息
        const val SEAL_ACCOUNT_STOP = 980001000                     //账号被封禁
        const val LOGIN_PASSWORD_ERROR_UPPER_LIMIT = 980003022      //密码错误次数达到上限，不能重试
        const val LOGIN_PASSWORD_ERROR = 980003023                  //密码错误,返回重试次数
        const val USER_LOGGED_OUT = 980003007                       //用户已注销
        const val ACCOUNT_SHUT_DOWN = 980003031                     //该账号已经被关小黑屋
        const val YOU_BLOCKED_OTHER = 980004003                     //我拉黑对方
        const val OTHER_BLOCKED_YOU = 980004004                     //对方把我拉黑

        const val ZEGO_IS_LOGIN = 1002001                           //既构同时登录的房间超过最大值
        const val ZEGO_NOT_LOGINROOM = 1000002                      //既构没有登录房间

        const val LIVE_NOT_EXIST = 982000022                        //直播间不存在
        const val PAY_FAILURE_FLUSHED = 984000009                   //充值后不需要吐司，直接刷新

        const val AGENCY_NOT_JOIN = 980003305                       //未加入公会
        const val INVITE_NOT_BIND = 980003309                       //未绑定用户

        const val APP_FORCE_UPGRADE = 980001100                     //应用需要强制更新

        const val LIVE_EMPTY = 982000022                            //直播间不存在
        const val PARTY_NEED_PASSWORD = 982000035                   //进入语聊房需要密码
        const val PARTY_PASSWORD_ERROR = 982000034                  //进入语聊房密码错误
        const val PARTY_SEAT_NO = 982000033                         //语聊房麦位被禁
        const val COVER_UP_ERROR_DIALOG1 = 982004104                //上传封面照弹窗
        const val COVER_UP_ERROR_DIALOG2 = 982004105                //上传封面照弹窗
        const val KICK_ROOM = 982000054                             //被踢出房间
        const val HAVE_MEMBER = 982003004                            //需要成员才能进入

        const val MATCH_END = 983000001                             //匹配已经结束

        const val CALL_END = 982000007                              //通话已结束

        const val LUCKY_BAG_COMPLETED = 981004001                   //福袋已被领取完
        const val LUCKY_BAG_EXPIRED = 981004002                     //福袋已过期

        const val VIP_LEVEL_INSUFFICIENT = 780001015                //vip等级不足

    }

    //Banner类型
    object BannerType {

        const val BANNER_HOME = 0                   //首页
        const val BANNER_PAY = 1                    //充值
        const val BANNER_LIVE = 2                   //直播
        const val BANNER_PARTY_PAGE = 3             //派对列表
        const val BANNER_PARTY = 4                  //派对房
        const val BANNER_GAME = 5                   //游戏房
        const val BANNER_GIFT_TOP = 6               //礼物顶部banner

        const val BANNER_PARTY_GAME = 8             //游戏列表
        const val BANNER_DYNAMIC = 9                //动态列表
    }

    //提现
    object Withdraw {

        const val Withdraw_DATA = "WithdrawData"    //提现详情页
    }

    object Gift {

        const val GIFT_ID = "giftId"                 //礼物id
        const val USER_ID = "userId"                 //用户id
        const val GIFT_PIC = "giftPic"               //礼物url
        const val GIFT_NAME = "giftName"             //礼物名称
    }

    //登录
    object Login {

        const val LOGIN_USER_ID = "user_id"//用户id
    }

    //用户安全等级
    object SafeLevel {

        const val NORMAL = 0                        //正常设备
        const val DANGER = 1                        //危险设备
        const val ABNORMAL = 2                      //异常设备
    }

    //是否为审核用户
    object FLagState {

        const val AUDIT = 1                         //审核用户
    }

    object CoverPhoto {

        const val COVERPHOTOID = 6666666                         //封面照Id

    }

    //用户协议隐私政策
    object Agreement {

        //社区公约
        const val TERMS_OF_SERVICE = "https://www.partypolaris.com/sala/termsofuse.html"

        //隐私政策
        const val PRIVACY_POLICY = "https://www.partypolaris.com/sala/privacypolicy.html"

        //服务条款
        const val CONVENTION = "https://www.partypolaris.com/sala/platformcivility.html"

        const val CHILD_SAFETY = "https://www.partypolaris.com/sala/childSafePolicy.html"
    }

    //装扮类型
    object DressUp {

        const val AVATAR_FRAME = 1L                  //头像框
        const val CHAT_BUBBLE = 2L                   //聊天气泡
        const val USER_PROFILE = 3L                  //用户资料卡片
        const val LIVE_BROADCAST_ENTRY = 4L          //直播进场座驾
        const val LIVE_EFFECT = 5L                   //直播进场特效
        const val HOMEPAGE_BACKGROUND = 6L           //个人主页背景
        const val PARTY_BACKGROUND = 7L              //派对背景
        const val SOUND_EFFECT = 8L                  //声浪
        const val ROOM_FRAME = 9L                    //房间框
        const val TOOL = 0L                          //道具
        const val BEAUTIFUL_NUMBER = 10000L              //靓号
        const val DIY_BACKGROUND = 10001L            //自定义背景槽  仅客户端自用  如果要用就用PARTY_BACKGROUND
    }

    //装扮类型
    object PackToolType {
        const val DAY_DIAMOND = 1L                   //每日钻石卡
        const val DAT_GAME_BEANS = 2L                //每日游戏币卡
        const val LIST_RECOMMEND = 3L                //列表推荐卡
        const val DISCOUNT_CARDS = 4L                //折扣卡
        const val vouchers = 5L                      //代金券
        const val VIP_CARD = 6L                      //vip卡
        const val BACKGROUND_CARD = 7L               //背景卡
        const val DANMAKU_CARD = 8L                  //广播卡 弹幕
    }


    //派对类型
    object PartyType {

        const val PARTY = 1                         //派对
    }

    //派对资产类型
    object PartyAssetType {

        const val DIAMOND = 0                       //钻石
        const val COIN = 1                          //游戏币
        const val FREE = 9                          //免费
    }

    //google分享
    object Install {

        const val utmSource = "utm_source"
        const val utmMedium = "utm_medium"
        const val utmTerm = "utm_term"
        const val utmContent = "utm_content"
        const val utmCampaign = "utm_campaign"
        const val anid = "admob"
    }

    //请求任务类型
    object RequestTaskType {

        const val PARTY_LIVE = 0                    //派对直播间
    }

    //任务类型
    object TaskType {

        const val GIFT_AND_CONSUME = 0              //礼物消费
        const val RECHARGE = 1                      //充值任务
        const val MIC_UP_DURATION = 2               //上麦时长任务
        const val JOIN_LIVE_DURATION = 3            //看直播时长任务
    }

    //福袋消息类型
    object LuckyBagMessageType {

        const val LUCKY_BAG = 0                     //发送福袋消息，所有人都会有
        const val RECEIVE = 1                       //领取福袋消息
        const val LUCKY_CHAT = 2                    //福袋聊天消息
    }

    //福袋状态
    object LuckyBagStatus {

        const val RECEIVING = 0                     //领取中
        const val COMPLETED = 1                     //已领取完成
        const val EXPIRED = 2                       //已过期

    }

    //礼物轮播图的类型
    object GiftBanner {

        const val ACT = 0                           //活动
        const val NAMING = 1                        //冠名
        const val PRIVILEGE = 2                     //特权
    }

    //文字图片拼接常量
    object TextImageSpan {

        const val SPLIT = "<#>"
        const val IMAGEAND = "image="
        const val TEXT = "text="
    }

    //客服的command
    object Customer {

        const val command = "customerService"
        const val cusstomerId = 134001L
    }

    //FAQ顶部type
    object FAQType {

        const val RECHARGE = 1
        const val WithDRAW = 2
        const val FAMILY = 3
        const val CALL = 4
        const val OTHER = 5
    }

    //用户区域
    object Region {

        /**
         * 东南亚
         */
        const val ESA = 1

        /**
         * 中东
         */
        const val MENA = 2

    }

    //主页adapter的type
    object HomeListType {

        const val TYPE_BANNER = 0               //主页列表banner

        const val TYPE_NORMAL = 1               //主页列表常用数据

        const val ALL_GAME = 2                  //游戏页游戏

        const val FRIEND_SHIP_TOP = 3           //交友列表顶部大房间数据

        const val TYPE_GAME = 4                 //首页列表穿插的数值游戏
    }
    //自定义背景的槽位类型
    object BackgroundType {
        const val BUY = 0L                      //购买
        const val FAMILY = 1L                   //公会成员
        const val VIP = 2L                      //vip
    }

}